<?php

/**
 * @author Fabio Ferraz
 * @copyright 2011
 */

require('model.php');

	
class vendaModel extends Model
{
	
     /**
     * vendaController::telaInicial()
     * 
     * tela inicial
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function calcularValorAvista()
	{ 	
	   $a['valor']  = '0';
       //verifico se existe alguma session
       if ( !isset( $_SESSION ) ){
	
    		session_start();
	   }
      
       //recupera os valores
       if ($_SESSION['produtos']){
		 
         $produtos = $_SESSION['produtos'];
         
         
         foreach ($produtos as $key=>$valor){
            
            //verifica se é 2 venda ou 1 locação 
            if ($_SESSION['tipo'] == 1){
               
               $a['valor'] = $a['valor'] + ($produtos[$key]['valor'] * $produtos[$key]['total']); 
                    
            }else{
                
               $a['valor'] = $a['valor'] + ($produtos[$key]['valorVenda'] * $produtos[$key]['total']);  
            }
            
            //calcula o desconto
            if($produtos[$key]['desconto'] > 0 ){
                
                //$a['valor'] = $a['valor'] - ( $a['valor'] * ($produtos[$key]['desconto']/100));
                  $a['valor'] = $a['valor'] - $produtos[$key]['desconto'];             
            }
         
         }
         
         return $a['valor'];
         
           	
	   }else{
	     
         $a['valor'] = '0,00';
         return $a['valor'];  
	   }
       
       
       
       
	}
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function salvarVenda($valor,$data,$parcelas = '',$entrada = '',$desconto = '')
	{
    	
        session_start();
        
        $codigoCliente = $_SESSION['cliente'];
        $codigoLoja = $_SESSION['filial_usuario'];
        $codigoUsuario =  $_SESSION['codigo_usuario'];
        
        $Vendas = new Vendas();
        
        $codigoVenda = $this->postFormData('codigoVenda');
       
      //caso exista o codigo da venda é uma edição
       if ($codigoVenda){
           
            $this->excluirVendasProdutos($codigoVenda); 
            $this->excluirMovimentacao($codigoVenda);
            $Vendas->get($codigoVenda);
            $Vendas->codigoUltimoUsuario = $codigoUsuario;
            $Vendas->codigoUsuario = $codigoUsuario;
            
       }else{
        
            $Vendas->codigoUsuario = $codigoUsuario;
       }
        
        $Vendas->codigoCliente = $codigoCliente;
		$Vendas->codigoLoja = $codigoLoja;
        $Vendas->entrada = $entrada;
        $Vendas->parcelas = $parcelas;
        $Vendas->total = $valor;
        $Vendas->dataEvento = $data;
        $Vendas->datareg = date('Y-m-d');
        $Vendas->codigoUltimoUsuario = $_SESSION['codigo_usuario'];
       
        
        if ($this->postFormData('semana')){
            
           $Vendas->semana = $this->postFormData('semana');     
        }
                
        $Vendas->dataVenda = date("d/m/Y"); 
        $Vendas->situacao = $_SESSION['tipo'];//esse tipo e o locação ou venda
        $Vendas->brindeVenda = $this->postFormData('brindeVenda');
        $Vendas->tipoVenda = $this->postFormData('tipo');
        $Vendas->observacao = $_POST['observacao'];
        
        
        try
        { 
            
            $Vendas->save(); 
           	
          
        }
       	 catch ( exception $e )
        { 
	      
            $exception = $e->getCode() . " - ";
	        $exception .= $e->getMessage() . "\n";
	        $exception .= "Arquivo: " . $e->getFile() . "\n";
	        $exception .= "Linha: " . $e->getLine();
	        echo $exception; exit();
            return false;
	        
        }
        
        
        //registra as movimentacões movimentação 
        
        //verifica a forma de pagamento para calcular a entrada    
          switch($Vendas->tipoVenda){
           
           case 1: $valorInicial = ($this->calcularValorAvista() - $desconto);
           break;
           
           case 2: $valorInicial = ($Vendas->entrada);
           break;
           
           case 3: $valorInicial = ($Vendas->total - $desconto);
           break;

           case 4: $valorInicial = ($this->calcularValorAvista() - $desconto);
           break;
         }
          
         
         if ($valorInicial > 0 || ($this->postFormData('brindeVenda') > 0)){
            
             $Movimentacao = new Movimentacao();     
             $Movimentacao->codigoVenda = $Vendas->codigoVenda;   
             $Movimentacao->dataVencimento = $Vendas->dataVenda;
             $Movimentacao->valor = $valorInicial;
             
             if($this->postFormData('brindeVenda') > 0){
                $Movimentacao->status = 1;
             }else{
                $Movimentacao->status = 0;   
             }
             
             
             $movimentacao->codigoUltimoUsuario = $codigoUsuario;
             $Movimentacao->datareg = date('Y-m-d');   
             $Movimentacao->insert();
             
             unset($movimentacao);
         }
        
        
        
        if(!$this->postFormData('brindeVenda') ){
             
            for ($i = 1; $i <= $Vendas->parcelas; $i++) {
                 
                
                    
                     $Movimentacao = new Movimentacao();     
                    
                     $valorParcela = (($Vendas->total-$Vendas->entrada-$desconto)/$Vendas->parcelas);
                     $date = strtotime($this->data_form_bd($Vendas->dataVenda) . " +".$i." month");
                     $novaData = date("d/m/Y", $date);
                     
                     $Movimentacao->codigoVenda = $Vendas->codigoVenda;   
                     $Movimentacao->dataVencimento = $novaData;
                     $Movimentacao->valor = $valorParcela;
                     
                     if($this->postFormData('brindeVenda') > 0){
                        $Movimentacao->status = 1;
                     }else{
                        $Movimentacao->status = 0;   
                     }
                     
                     $Movimentacao->parcela = $i;
                     $movimentacao->codigoUltimoUsuario = $codigoUsuario;
                     $Movimentacao->datareg = date('Y-m-d');
                     
                     $Movimentacao->insert();
                     unset($movimentacao);
                 
           }  
       } 
       
        //salva os produtos da venda
        $produtos = $_SESSION['produtos'];
        
        foreach ($produtos as $key=>$valores){
         
             $VendasProdutos = new VendaProdutos();
                     
             if ($this->postFormData('retirada')){
                $VendasProdutos->dataRetirada = $this->postFormData('retirada');    
             }else{
                $VendasProdutos->dataRetirada = date("d/m/Y"); 
             }
                
             if ($this->postFormData('devolucao')){
                $VendasProdutos->dataDevolucao = $this->postFormData('devolucao');     
             }
        
            $VendasProdutos->codigoVenda = $Vendas->codigoVenda;
            $VendasProdutos->codigoProduto = $key;
            $VendasProdutos->quantidade = $produtos[$key]['total'];
            $VendasProdutos->situacao = 1;
            $VendasProdutos->codigoUltimoUsuario = $codigoUsuario;
            $VendasProdutos->datareg = date('Y-m-d');
            $VendasProdutos->valorProduto = $produtos[$key]['valor'];
            $VendasProdutos->brindes = $produtos[$key]['brindes'];
        
            try
            { 
                $VendasProdutos->insert();
                unset($VendasProdutos); 
            }
           	 catch ( exception $e )
            { 
    	      
                $exception = $e->getCode() . " - ";
    	        $exception .= $e->getMessage() . "\n";
    	        $exception .= "Arquivo: " . $e->getFile() . "\n";
    	        $exception .= "Linha: " . $e->getLine();
    	        echo $exception; exit();
                return false;
    	        
            }
            
            
            if ($_SESSION['tipo'] == 2){
                
                
                $Produtos = new Produtos();
                $Produtos->get($key);
                $Produtos->quantidade = $Produtos->quantidade - $produtos[$key]['total'];
                
                if ($Produtos->quantidade < 1){
                    $Produtos->tipo = 3;
                }
                
                $Produtos->save();
            }
        
        }
         unset($_SESSION['cliente']);
         unset($_SESSION['produtos']);
         unset($_SESSION['ultimo']);
         
         
         return $Vendas->codigoVenda;
		
	}
    
    
    
    
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function salvarTarefa()
	{
    	$codigoVenda = $this->getFormData('codigoVenda');
        $tipo = $this->getFormData('tipo');
        
        
        switch($tipo){
            
           case 'C': $situacao = 2; 
           break;
           
           case 'L': $situacao = 4; 
           break;
           
           case 'E': $situacao = 10; 
           break;
           
           case 'D': $situacao = 11; 
           break;
        }
             
        //Recebendo dados
        foreach ($_POST as $key=>$value){
             
           $chave = explode('-',$key);
            
           //carrega os valores para ser lançados no banco de dados
           if ( $chave[0] == 'item' ){
               
              try{
                    
                    
                    
                    
                    
                   //alterar a situacao na tabela VendasProdutos
                    $VendasProdutos = new VendaProdutos();
                    $VendasProdutos->where('codigo_venda ='.$codigoVenda);
                    $VendasProdutos->where('codigo_produto ='.$value);
                    $VendasProdutos->find();
                    $VendasProdutos->fetch();
                    $VendasProdutos->situacao = $situacao;
                    $VendasProdutos->dataRetirada = $_POST['data'.$value];
                    $VendasProdutos->hora = $_POST['hora'.$value].':'.$_POST['minuto'.$value];
                    $VendasProdutos->observacoes = $VendasProdutos->observacoes."\r\n".$_POST["observacao$value"];
                    $VendasProdutos->save();
                    
                    
                    
                    
                   
                    
               }catch (exception $e){
                   
    			$exception = $e->getCode() . " - ";
    			$exception .= $e->getMessage() . "\n";
    			$exception .= "Arquivo: " . $e->getFile() . "\n";
    			$exception .= "Linha: " . $e->getLine();
                
                $json["sucesso"] = $exception;
                echo json_encode($json);exit;
              	        
               }
           }
            
            
        }
        
      
        
        return true;
        
		
	}
    
    
    
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function salvarAcessorios($codigoVenda)
	{  
	    //apaga os acessorios 
        $VendaAcessorios = new VendaAcessorios();
        
        $VendaAcessorios->where("codigo_venda =".$codigoVenda);
        
        $VendaAcessorios->delete(true); 
        
        unset($VendaAcessorios);
        
        if ( !isset( $_SESSION ) ){
	       
           	session_start();
	    }
        
        
        if ($_SESSION['acessorios'])
		{
		 $acessorios = $_SESSION['acessorios'];	
		}
        
        
        foreach($acessorios as $key=>$valores){
            
            $dados = explode('|',$valores);
            
            $VendaAcessorios = new VendaAcessorios();
            $VendaAcessorios->codigoVenda = $codigoVenda;
            $VendaAcessorios->quantidade = $dados[0];
            $VendaAcessorios->descricao = $dados[1];
            $VendaAcessorios->status = $dados[2];
            $VendaAcessorios->observacao = $dados[3];
            $VendaAcessorios->dataRetirada = $dados[4];
            $VendaAcessorios->dataDevolucao = $dados[5];
            $VendaAcessorios->codigoUltimoUsuario = $_SESSION['codigo_usuario'];
            $VendaAcessorios->datareg = date('d/m/Y');
            $VendaAcessorios->insert();
            unset($VendaAcessorios);
            
        }
        
        
        return true;
	}
    
    
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function selecionarDadosAcessorios($codigoVenda)
	{  
	    //apaga os acessorios 
        $VendaAcessorios = new VendaAcessorios();
        
        $VendaAcessorios->where("codigo_venda =".$codigoVenda);
        
        $VendaAcessorios->find(); 
        
        if ( !isset( $_SESSION ) ){
	       
           	session_start();
	    }
        
        while($VendaAcessorios->fetch()){
            
            $codigo = md5($VendaAcessorios->descricao);
            
            $acessorios[$codigo] = $VendaAcessorios->quantidade.'|'.$VendaAcessorios->descricao.'|'.$VendaAcessorios->status.'|'.$VendaAcessorios->observacao.'|'.$this->data_bd_form($VendaAcessorios->dataRetirada).'|'.$this->data_bd_form($VendaAcessorios->dataDevolucao); 
            
        }
        
        return $_SESSION['acessorios'] = $acessorios;
        
         
	}
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function selecionarDataAgendamento($codigoVenda)
	{  
	    //apaga os acessorios 
        $VendaProdutos = new VendaProdutos();
        
        $VendaProdutos->where("codigo_venda =".$codigoVenda);
        
        $VendaProdutos->find(true); 
        
        if ( !isset( $_SESSION ) ){
	       
           	session_start();
	    }
        
        
        return $VendaProdutos->dataProva;
        
         
	}
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function salvarDataProva()
	{
    	$codigoVenda = $this->postFormData('codigoVenda');
        $data = $this->postFormData('data');
       
         //altera a data da prova
           try
           {
           
              $Vendas = new VendaProdutos();
              
              $Vendas->where('codigo_venda ='.$codigoVenda);
              
              $Vendas->dataProva = $data;
              $Vendas->update(true);
                   
           }catch (exception $e){
                   
			 $exception = $e->getCode() . " - ";
			 $exception .= $e->getMessage() . "\n";
			 $exception .= "Arquivo: " . $e->getFile() . "\n";
			 $exception .= "Linha: " . $e->getLine();
            
             echo $exception;exit;
              	        
          }
        
        return true;
        
		
	}
    
    
    
    
    /**
     * contatoModel::salvarProposta()
     * 
     * Salva os dados da proposta.
     * 
     * @access public
     * @author Fabio Ferraz Rufino <fabiorufinosd@yahoo.com.br>
     * @since v1.0
     */
	
	public function verificarTotalRetiradas($data,$hora)
	{
    	 //altera a data da prova
           try
           {
           
              $Vendas = new VendaProdutos();
              $Vendas->where('data_retirada ="'.$this->data_form_bd($data).'"');
              $Vendas->where('hora ="'.$hora.'"');
              $Vendas->find();
                   
           }catch (exception $e){
                   
			 $exception = $e->getCode() . " - ";
			 $exception .= $e->getMessage() . "\n";
			 $exception .= "Arquivo: " . $e->getFile() . "\n";
			 $exception .= "Linha: " . $e->getLine();
            
             echo $exception;exit;
              	        
          }
        
        return $Vendas->numRows();
        
		
	}
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function selecionarVendas()
	{
		session_start();
        
        $Tabela = new Vendas();
        
          
        $busca = $this->postFormData('busca');
        $where = 'where vendas.situacao = '.$_SESSION['tipo'];
        
		if ($busca==1)
		{
		   
           
           session_start();
           
           foreach($_POST as $key=>$value){
                
               $_SESSION[$key] = $value; 
           }   
          
          
           $palavra = $this->postFormData('palavra');
           $filtro = $this->postFormData('filtro');
           $data1 = $this->postFormData('data1');
           $data2 = $this->postFormData('data2');
            
           $where .= ' AND (vendas.CODIGO_VENDA = "'.$palavra.'" OR produtos.codigo_interno = "'.$palavra.'" OR produtos.nome like "%'.$palavra.'%" OR clientes.nome LIKE "%'.$palavra.'%" OR clientes.cpf = "'.$palavra.'" OR clientes.telefone LIKE "%'.$palavra.'%") ';
           
           if($data1 && $data2){
                
                
             switch($filtro){
                
                case 1: $where .= 'AND vendas.DATA_VENDA >= "'.$this->data_form_bd($data1).'" and vendas.DATA_VENDA <= "'.$this->data_form_bd($data2).'"';
                break;
                
                case 2: $where .= 'AND vendas_produtos.DATA_PROVA >= "'.$this->data_form_bd($data1).'" and vendas_produtos.DATA_PROVA <= "'.$this->data_form_bd($data2).'"';
                break;
                
                case 3: $where .= 'AND vendas_produtos.DATA_RETIRADA >= "'.$this->data_form_bd($data1).'" and vendas_produtos.DATA_RETIRADA <= "'.$this->data_form_bd($data2).'"';
                break;
                
                case 4: $where .= 'AND vendas.DATA_EVENTO >= "'.$this->data_form_bd($data1).'" and vendas.DATA_EVENTO <= "'.$this->data_form_bd($data2).'"';
                break;
                
             }
            
           }
           
         
          
		}else{
		  
          $where .= ' and vendas.DATA_VENDA = "'.$this->data_form_bd(date('d/m/Y')).'"';
		}
		//-------------------------------------------------------------------------------------------------------------------------------------
		
        if ($filtro = $this->postFormData('codigoBarras')){
            $hash = ($this->postFormData('codigoBarras') * 1) - 1000702561;
            $where = "where vendas.codigo_venda = " . $hash;
        }
        
        $sql = 'SELECT
                  clientes.NOME                        AS "nome",
                  clientes.TELEFONE                    AS "telefone",  
                  vendas.CODIGO_VENDA                  AS "codigoVenda",
                  vendas.CODIGO_CLIENTE                AS "codigoCliente",
                  vendas.CODIGO_LOJA                   AS "codigoLoja",
                  vendas.CODIGO_USUARIO                AS "codigoUsuario",
                  vendas.DATA_VENDA                    AS "dataVenda",
                  vendas.OBSERVACAO                    AS "obs",
                  vendas_produtos.DATA_RETIRADA                 AS "dataRetirada",
                  vendas_produtos.DATA_DEVOLUCAO                AS "dataDevolucao",
                  vendas_produtos.DATA_PROVA                    AS "dataProva",
                  vendas_produtos.OBSERVACOES                   AS "observacoes",
                  vendas.SITUACAO                      AS "situacao",
                  vendas.BRINDE_VENDA                  AS "brinde",
                  vendas_produtos.quantidade           AS "quantidade",
                  produtos.nome                        AS "produtos",
                  produtos.image_url	               AS "url",
                  movimentacao.DATA_VENCIMENTO         AS "vencimento",
                  movimentacao.STATUS                  AS "status",
                  vendas_produtos.SITUACAO             AS "situacao"
                FROM vendas
                  INNER JOIN venda_produtos vendas_produtos
                    ON vendas.CODIGO_VENDA = vendas_produtos.CODIGO_VENDA
                  INNER JOIN clientes clientes
                    ON vendas.CODIGO_CLIENTE = clientes.CODIGO_CLIENTE
                  INNER JOIN produtos produtos 
                   ON produtos.codigo_produto = vendas_produtos.CODIGO_PRODUTO
                  INNER JOIN movimentacao
                   ON movimentacao.CODIGO_VENDA = vendas.CODIGO_VENDA  '.$where.' 
                   GROUP BY vendas.CODIGO_VENDA,produtos.codigo_produto
                    ORDER BY vendas.CODIGO_VENDA,clientes.nome ASC, url desc';
        
        
            

		try
		{
           // echo $sql;//exit;
			$Tabela->query($sql);//exit();
			return $Tabela;

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}


	}
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function selecionarDadosVendas($id)
	{
        
        
        $Tabela = new Vendas();
        
        $sql = 'SELECT
                  clientes.NOME                        AS "nome",
                  clientes.TELEFONE                    AS "telefone",  
                  vendas.CODIGO_VENDA                  AS "codigoVenda",
                  vendas.CODIGO_CLIENTE                AS "codigoCliente",
                  vendas.CODIGO_LOJA                   AS "codigoLoja",
                  vendas.CODIGO_USUARIO                AS "codigoUsuario",
                  vendas.DATA_VENDA                    AS "dataVenda",
                  vendas.OBSERVACAO                    AS "obs",
                  vendas_produtos.DATA_RETIRADA                 AS "dataRetirada",
                  vendas_produtos.DATA_DEVOLUCAO                AS "dataDevolucao",
                  vendas_produtos.DATA_PROVA                    AS "dataProva",
                  vendas_produtos.OBSERVACOES                   AS "observacoes",
                  vendas.SITUACAO                      AS "situacao",
                  vendas.BRINDE_VENDA                  AS "brinde",
                  vendas_produtos.quantidade           AS "quantidade",
                  produtos.nome                        AS "produtos",
                  produtos.image_url	               AS "url",
                  movimentacao.DATA_VENCIMENTO         AS "vencimento",
                  movimentacao.STATUS                  AS "status",
                  vendas_produtos.SITUACAO             AS "situacao"
                FROM vendas
                  INNER JOIN venda_produtos vendas_produtos
                    ON vendas.CODIGO_VENDA = vendas_produtos.CODIGO_VENDA
                  INNER JOIN clientes clientes
                    ON vendas.CODIGO_CLIENTE = clientes.CODIGO_CLIENTE
                  INNER JOIN produtos produtos 
                   ON produtos.codigo_produto = vendas_produtos.CODIGO_PRODUTO
                  INNER JOIN movimentacao
                   ON movimentacao.CODIGO_VENDA = vendas.CODIGO_VENDA  where vendas.codigo_venda = '.$id.'
                   GROUP BY vendas.CODIGO_VENDA,produtos.codigo_produto
                    ORDER BY vendas.CODIGO_VENDA,clientes.nome ASC, url desc';
        
        
            

		try
		{
           // echo $sql;exit;
			$Tabela->query($sql);//exit();
			return $Tabela;

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
    
    
    }
	
	/**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function selecionarDadosVendasProdutos($id,$tipo=''){
	   
        $VendasProdutos = new VendaProdutos();
        $Produtos = new Produtos();
        
        $VendasProdutos->alias('vp');
        $VendasProdutos->join($Produtos,'INNER','p','codigoProduto','codigoProduto');
        
        $VendasProdutos->select('vp.*,p.nome,p.imageUrl as url');
        
        $VendasProdutos->where('codigo_venda ='.$id);
        
        
        if ($tipo == 'D'){
            
            $VendasProdutos->where('(situacao = 10 or situacao = 11)');
            
        }
        
        try
		{
        
		  $VendasProdutos->find();
         //Lumine_Util::showResult($VendasProdutos);//exit;
         
		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        
		//$dados = $VendasProdutos->allToArray();
        
    	return $VendasProdutos;
	   
       
	}
    
    
    
   
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificarPendencia($id){
	   
        $Vendas = new Vendas();
        $Movimentacao = new Movimentacao();
        
        $Vendas->alias('v');
        $Vendas->join($Movimentacao,'INNER','m','codigoVenda','codigoVenda');
        
        try
		{
         
          $Vendas->where('m.codigoVenda ='.$id);
          $Vendas->where('m.status < 1');
          $Vendas->find();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        
		if ($Vendas->numRows() > 0){
		  
          return 1;
		}else{
		  return 0;
		}
        
    	
	   
       
	}
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificarStatusPendencia($id){
	   
        $Vendas = new Vendas();
        $Movimentacao = new Movimentacao();
        
        $Vendas->alias('v');
        $Vendas->join($Movimentacao,'INNER','m','codigoVenda','codigoVenda');
        
        try
		{
         
          $Vendas->where('m.codigoVenda ='.$id);
          $Vendas->where('m.status < 1');
          $Vendas->where('m.dataVencimento < now()');
          $Vendas->find();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        
		return $Vendas;
        
    	
	   
       
	}
    
    
    
    
    
     /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificarStatusProdutos($id){
	   
        $VendasProdutos = new VendaProdutos();
        $VendasProdutos->codigoVenda = $id;
        
        
        
        try
		{
         
          $VendasProdutos->find();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        while ($VendasProdutos->fetch()){
            
           
            switch($VendasProdutos->situacao){
                
                
                case 1:
                $GLOBALS['costura']['status'] = 'ajustes';
                $GLOBALS['costura']['title'] = 'Itens liberados';
                $GLOBALS['lavanderia']['status'] = 'ajustes';
                $GLOBALS['lavanderia']['title'] = 'Itens liberados';
                $GLOBALS['entrega']['status'] = 'ajustes';
                $GLOBALS['entrega']['title'] = 'Itens Liberados para entrega';
                $GLOBALS['devolucao']['status'] = 'laranja';
                $GLOBALS['devolucao']['title'] = 'Nenhum item entregue ao cliente';
                break;
                
                
                case 2:
                $GLOBALS['costura']['status'] = 'laranja';
                $GLOBALS['costura']['title'] = 'Itens aguardando atendimento do setor de costura';
                $GLOBALS['lavanderia']['status'] = 'laranja';
                $GLOBALS['lavanderia']['title'] = 'Itens aguardando atendimento do setor de costura';
                $GLOBALS['entrega']['status'] = 'laranja';
                $GLOBALS['entrega']['title'] = 'Itens aguardando atendimento do setor de costura';
                $GLOBALS['devolucao']['status'] = 'laranja';
                $GLOBALS['devolucao']['title'] = 'Nenhum item entregue ao cliente';
                break;
                
                case 3:
                $GLOBALS['costura']['status'] = 'azul';
                $GLOBALS['costura']['title'] = 'Itens aguardando liberação do setor de costura';
                $GLOBALS['lavanderia']['status'] = 'verde';
                $GLOBALS['lavanderia']['title'] = 'Itens aguardando liberação do setor de costura';
                $GLOBALS['entrega']['status'] = 'laranja';
                $GLOBALS['entrega']['title'] = 'Itens Liberados para entrega';
                $GLOBALS['devolucao']['status'] = 'laranja';
                $GLOBALS['devolucao']['title'] = 'Nenhum item entregue ao cliente';
                break;
                
                case 4:
                $GLOBALS['lavanderia']['status'] = 'laranja';
                $GLOBALS['lavanderia']['title'] = 'Itens aguardando atendimento do setor de lavanderia';
                $GLOBALS['costura']['status'] = 'verde';
                $GLOBALS['costura']['title'] = 'Itens aguardando atendimento do setor de lavanderia';
                $GLOBALS['entrega']['status'] = 'laranja';
                $GLOBALS['entrega']['title'] = 'Itens aguardando atendimento do setor de lavanderia';
                $GLOBALS['devolucao']['status'] = 'laranja';
                $GLOBALS['devolucao']['title'] = 'Nenhum item entregue ao cliente';
                break;
                
                case 5:
                $GLOBALS['lavanderia']['status'] = 'azul';
                $GLOBALS['lavanderia']['title'] = 'Itens aguardando liberação do setor de lavanderia';
                $GLOBALS['costura']['status'] = 'verde';
                $GLOBALS['costura']['title'] = 'Itens aguardando liberação do setor de lavanderia';
                $GLOBALS['entrega']['status'] = 'laranja';
                $GLOBALS['entrega']['title'] = 'Itens aguardando liberação do setor de lavanderia';
                $GLOBALS['devolucao']['status'] = 'laranja';
                $GLOBALS['devolucao']['title'] = 'Nenhum item entregue ao cliente';
                break;
                
                case 10:
                $GLOBALS['costura']['status'] = 'cinza';
                $GLOBALS['costura']['title'] = 'Itens entregues ao cliente';
                $GLOBALS['lavanderia']['status'] = 'cinza';
                $GLOBALS['lavanderia']['title'] = 'Itens entregues ao cliente';
                $GLOBALS['entrega']['status'] = 'cinza';
                $GLOBALS['entrega']['title'] = 'Itens entregues ao cliente';
                $GLOBALS['devolucao']['status'] = 'azul';
                $GLOBALS['devolucao']['title'] = 'Aguardando entrega do produtos';
                break;
            }
        }
        
		
	}
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function cancelarVenda($id){
	   
        $Vendas = new Vendas();
        
        $Vendas->get($id);        
        $Vendas->situacao = 0;
        try
		{
        
		  $Vendas->save();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        
		//$dados = $VendasProdutos->allToArray();
        
    	return true;
	   
       
	}
    
    
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function removerProdutosVenda($id){
	   
        $VendasProdutos = new VendaProdutos();
        
        $VendasProdutos->where('codigo_venda = '. $id);        
        $VendasProdutos->find();
        try
		{
        
		  $VendasProdutos->delete(true);

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();
            echo $exception;exit;
			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
      
        
		//$dados = $VendasProdutos->allToArray();
        
    	return true;
	   
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function cancelarVendaFinal($id){
	   
        $VendasProdutos = new VendaProdutos();
        $VendasProdutos->codigoVenda =$id;
        $VendasProdutos->find();
        
        while ($VendasProdutos->fetch()){
            
            $Produtos = new Produtos();        
            $Produtos->get($VendasProdutos->codigoProduto);            
            $Produtos->quantidade = $Produtos->quantidade + $VendasProdutos->quantidade;            
            $Produtos->tipo = 2;
            
            
            try{
                
                $Produtos->save();
                
            }catch (exception $e){

    			$exception = $e->getCode() . " - ";
    			$exception .= $e->getMessage() . "\n";
    			$exception .= "Arquivo: " . $e->getFile() . "\n";
    			$exception .= "Linha: " . $e->getLine();
    
    			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		   }
           
            unset($Produtos);
        }
        
        unset($VendasProdutos);
        
        $Vendas = new Vendas();
        $Vendas->get($id);        
        
        try
		{
        
		  $Vendas->delete();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
        
        
      
        
		//$dados = $VendasProdutos->allToArray();
        
    	return true;
	   
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function registrarPagamento($id,$abatimento=''){
	   
        $Movimentacao = new Movimentacao();
        
        $Movimentacao->get($id);
        
        //em caso de abatimento atualiza o valor
        if($abatimento){
           
           $abatimento = str_replace(".","", $abatimento);
           $abatimento = str_replace(",",".", $abatimento);
          
           $valor = $Movimentacao->valor - $abatimento;
           
            //caso valor seja maior que zero quer dizer que ainda existe valor a serem abatidos 
            //Por isso o programa gera uma nova linha de movimentacao como o valor atualizado
    		if ($valor > 0){
    		  
              $Movimentacao2 = new Movimentacao();
              $Movimentacao2->codigoVenda = $Movimentacao->codigoVenda;
              $Movimentacao2->dataVencimento = $Movimentacao->dataVencimento;
              $Movimentacao2->valor = $valor;
    		  $Movimentacao2->status = 0;
              
              $Movimentacao2->insert();
              
              
    		}
           
           
           //valor pago
           $Movimentacao->valor = $abatimento;
           
            
           
        }
        
        
        $Movimentacao->status = 1; 
        $Movimentacao->dataRecebimento = date('Y-m-d');
        
        
        try
		{
        
		  $Movimentacao->save();
          unset($Movimentacao);
		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			//die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");

            return 0;
		}
       
        
        
    	return 1;
	   
       
	}
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function selecionarMovimentacao($id){
	   
        $Movimentacao = new Movimentacao();
        $Vendas = new Vendas();
        
        
        $Movimentacao->alias('m');
        $Movimentacao->join($Vendas,'INNER','v','codigoVenda','codigoVenda');
        $Movimentacao->where('m.codigoVenda ='.$id);
        
        try
		{
        
		  $Movimentacao->find();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
       
       return $Movimentacao;
	   
       
	}
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarDadosClientes()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function selecionarDadosClientes(){
	   
        $codigoProduto = $this->getFormData('codigoProdutos');
        
        $Movimentacao = new Movimentacao();
        
        $sql = 'SELECT c.NOME as nome,c.TELEFONE as telefone, vp.OBSERVACOES as observacao, vp.DATA_RETIRADA as dataRetirada FROM clientes c 
                INNER JOIN vendas v ON v.CODIGO_CLIENTE =  c.CODIGO_CLIENTE
                INNER JOIN venda_produtos vp ON vp.CODIGO_VENDA = v.CODIGO_VENDA
                INNER JOIN movimentacao m ON m.CODIGO_VENDA = v.CODIGO_VENDA
                WHERE vp.CODIGO_PRODUTO = '.$codigoProduto.' AND v.SITUACAO = 1 AND m.STATUS = 0
                GROUP BY c.CODIGO_CLIENTE';
        
        try
		{
          //echo $sql;exit;
		  $Movimentacao->query($sql);

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			die( "Não foi possível listar os registros.<BR><BR>(" . $exception . ")");


		}
       
       return $Movimentacao;
	   
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function excluirVenda($id){
	   
        $Vendas = new Vendas();
        
        $Vendas->get($id);
        
        try
		{
        
		  $Vendas->delete();

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			return false;


		}
       
    	return true;
	   
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function excluirVendasProdutos($id){
	   
        $Vendas = new VendaProdutos();
        $Vendas->where('codigo_venda ='.$id);
        
        try
		{
        
		  $Vendas->delete(true);

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();
            echo $exception;exit;
			return false;


		}
       
    	return true;
	   
       
	}
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function excluirMovimentacao($id){
	   
        $Movimentacao = new Movimentacao();
        $Movimentacao->where('codigo_venda ='.$id.' and status <> 1');
        
        try
		{
        
		  $Movimentacao->delete(true);

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			return false;


		}
       
    	return true;
	   
       
	}
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificarBrindesUtilizados($id){
	   
       
        $Vendas = new Vendas();
        
        $sql = "SELECT v.CODIGO_VENDA as codigoVenda FROM vendas v WHERE v.SITUACAO = 1 AND v.BRINDE_VENDA = $id";
       // echo $sql;
                
        try
		{
        
		  $Vendas->query($sql);

		}
		catch (exception $e)
		{

			$exception = $e->getCode() . " - ";
			$exception .= $e->getMessage() . "\n";
			$exception .= "Arquivo: " . $e->getFile() . "\n";
			$exception .= "Linha: " . $e->getLine();

			return false;


		}
        
        $total = 0;
       
        while($Vendas->fetch()){
                
            //carrego a session_produtos   
            $this->carregarSessionProdutos($Vendas->codigoVenda);
            
            //mostra o total
            $total = $total + $this->calcularBrindesConsumidos();
       
             
        }
       
        return $total;
        
         
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificarBrindesDisponiveis($id){
	       
        //carrego a session_produtos   
        $this->carregarSessionProdutos($id);
        
        //mostra o total
        $total = $this->calcularBrindes();
        
        return  $total;
       
	}
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function verificaTotalPago($id){
	       
        //carrego a session_produtos   
        $Movimentacao = new Movimentacao();
        $sql = "SELECT SUM(valor) as total FROM movimentacao m WHERE m.CODIGO_VENDA = $id AND STATUS = 1";
        $Movimentacao->query($sql);
        $Movimentacao->fetch();
        return  $Movimentacao->total;
       
	}
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function carregarSessionProdutos($id){
	   
       //verifico se existe alguma session
       if ( !isset( $_SESSION ) ){
	
    		session_start();
	   }
	   
       //limpa a session para recarregar com os valores corretos
        unset($_SESSION['produtos']);
        
       //seleciona os produtos relativos a venda
       $produtos = $this->selecionarDadosVendasProdutos($id);
       $produtos = $produtos->allToArray();
      
       //carrega a session[produtos];
       foreach($produtos as $key=>$valor){
       
            for($i = 1;$i <= $produtos[$key]['quantidade'];$i++){
                
                 $this->adicionarProdutos($produtos[$key]['codigoProduto'],$produtos[$key]['brindes']);
            }
        
       }
    
    }
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function calcularBrindes(){
	   
       if ( !isset( $_SESSION ) ){
	
    		session_start();
	   }   
       
       $total = '0';
            
       //carrega os procedimentos
       if ($_SESSION['produtos']){
		 
             $produtos = $_SESSION['produtos'];
         
             //calcula o total de brindes
             foreach($produtos as $key=>$valor){
            
                $brindes = $produtos[$key]['brindes'] * $produtos[$key]['total'] ;
                $total = $total + $brindes;        
             	
    	     }
	   }
          
        return $total;
       
	}
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function calcularBrindesEdicao(){
	   
       $id = $this->getFormData('id');
       
       $VendaProdutos = new VendaProdutos();
       
       /*$sql = "SELECT p.qtd_brindes AS brindes FROM produtos p 
                INNER JOIN venda_produtos vp ON vp.CODIGO_PRODUTO = p.codigo_produto WHERE vp.CODIGO_VENDA = $id AND p.brinde = 2
                GROUP BY vp.CODIGO_VENDA";*/

       $sql = "SELECT ( (SELECT venda_produtos.brindes FROM venda_produtos WHERE venda_produtos.codigo_venda = $id) - COUNT(vp.codigo_venda_produto) ) AS brindes 
                        FROM vendas v 
                        INNER JOIN venda_produtos vp ON vp.CODIGO_VENDA = v.CODIGO_VENDA
                        WHERE v.brinde_venda = $id  ";         
                                   
      //  echo $sql;        
       $VendaProdutos->query($sql); 
       $VendaProdutos->fetch();    
       
       return $VendaProdutos->brindes;    
       
	}
    
    
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function calcularBrindesConsumidos(){
	   
       if ( !isset( $_SESSION ) ){
	
    		session_start();
	   }   
       
       $total = '0';
            
       //carrega os procedimentos
       if ($_SESSION['produtos']){
		 
             $produtos = $_SESSION['produtos'];
         
             //calcula o total de brindes
             foreach($produtos as $key=>$valor){
            
                $brindes = $produtos[$key]['brindesConsumidos'] * $produtos[$key]['total'] ;
                $total = $total + $brindes;        
             	
    	     }
	   }
          
        return $total;
       
	}
    
    
    
    /**
	 *ProdutoModel::selecionarVendas()
	 *
	 * Seleciona os registros deProdutos noProduto de dados para listagem
	 *
	 * @access public
	 * @author Fabio Ferraz Rufino
	 * @since  v1.0
	 */
	public function adicionarProdutos($id,$brindesSalvos = ''){
	   
       //verifico se existe alguma session
       if ( !isset( $_SESSION ) ){
	
    		session_start();
	   }
      
       
      
       //carrega os procedimentos
       if ($_SESSION['produtos']){
		 
         $produtos = $_SESSION['produtos'];
         
         //verifico se o produto ja adicionado
         $key = array_key_exists($id,$produtos);
         	
	   }
       
       $json = json_encode($this->selecionarDados('Produtos',$id));
       
       //jogo os dados do json para o objeto dado // a função json_decode ja cria o objeto
       $dados = json_decode($json);
       
       
       
       if(!$key){
         $produtos[$id]['dados'] = $dados;
         $produtos[$id]['valor'] = $dados->valor;
         $produtos[$id]['total'] = '1';
         $produtos[$id]['desconto'] = $dados->desconto;
         
         
         //Remendo pos piores que estao tendo
         //$brindesSalvos sao os brindes que ja foram salvos utlizados para calcular a quantidade de brindes disponivel na tela de consulta
         //repera que o que diferencia um do outro e apensa o "s" brinde e do produto e brindes e do vendasProduto
         $produtos[$id]['brindesDisponiveis'] = $brindesSalvos;
         
         // 1 - pode ser utilizado como brinde 2 - permite escolher brinde(s)
         if($dados->brinde == '2'){
            $produtos[$id]['brindes'] = $dados->qtdBrindes;   
         }
         
         if($dados->brinde == '1'){
            $produtos[$id]['brindesConsumidos'] = $dados->qtdBrindes;   
         }
                  
         $produtos[$id]['valorVenda'] = $dados->valorVenda;
 
       }else{
         
         $produtos[$id]['total'] = $produtos[$id]['total'] + 1;

       }
        
        //atualiza a session
         $_SESSION['produtos'] = $produtos ;
       
	}
    
    
	
	
}
?>